// js中的方法
function isPalindrome (str) {
  // 先反转字符串
  const reversedStr = str.split('').reverse().join('')
  // 判断反转前后是否相等
  return str === reversedStr
}


// 中间劈开 两边的两个子串在内容上完全对称
function isPalindrome1 (str) {
  const len = str.length
  // 遍历前半部分 判断是否与后半部分对称
  for(let i = 0; i < len/2; i++) {
    if(str[i] !== str[len-i-1]) {
      return false
    }
  }
  return true
}

// 双指针对撞法 与前者相似
function isPalindrome2 (str) {
  // 定义左指针i 和 右指针j
  let i = 0, j = str.length - 1
  while(i < j) {
    if(str[i]  !== str[j]) {
      return false
    }
    i++
    j--
  }
  return true
}

const str = 'aba'
console.log(isPalindrome (str));
console.log(isPalindrome1 (str));
console.log(isPalindrome2 (str));
